package org.kazuhiko.rpg.core.menu;

import java.util.ArrayList;

public abstract class Menu
{
	private float x;
	private float y;
	private float width;
	private float height;
	private float r;
	private float g;
	private float b;
	private float a;
	
	private ArrayList<MenuItem> items;
	
	public Menu()
	{
		x = 0;
		y = 0;
		width = 0;
		height = 0;
		r = 0;
		g = 0;
		b = 0;
		a = 1;
		
		items = new ArrayList<MenuItem>();
	}
	
	public Menu( float x, float y, float width, float height )
	{
		this();
		this.x = x;
		this.y = y;
		this.width = width;
		this.height = height;
	}
	
	public Menu( float x, float y, float width, float height, float r, float g, float b, float a )
	{
		this( x, y, width, height );
		this.r = r;
		this.g = g;
		this.b = b;
		this.a = a;
	}
	
	public float getX()
	{
		return x;
	}
	
	public void setX( float x )
	{
		this.x = x;
	}
	
	public float getY()
	{
		return y;
	}
	
	public void setY( float y )
	{
		this.y = y;
	}
	
	public float getWidth()
	{
		return width;
	}
	
	public void setWidth( float width )
	{
		this.width = width;
	}
	
	public float getHeight()
	{
		return height;
	}
	
	public void setHeight( float height )
	{
		this.height = height;
	}
	
	public float getR()
	{
		return r;
	}
	
	public void setR( float r )
	{
		this.r = r;
	}
	
	public float getG()
	{
		return g;
	}
	
	public void setG( float g )
	{
		this.g = g;
	}
	
	public float getB()
	{
		return b;
	}
	
	public void setB( float b )
	{
		this.b = b;
	}
	
	public float getA()
	{
		return a;
	}
	
	public void setA( float a )
	{
		this.a = a;
	}
	
	public ArrayList<MenuItem> getItems()
	{
		return items;
	}
	
	public void addItem( MenuItem item )
	{
		items.add( item );
	}
	
	public void removeItem( MenuItem item )
	{
		items.remove( item );
	}
	
	public void setItems( ArrayList<MenuItem> items )
	{
		this.items = items;
	}
	
	public abstract void render();
}
